<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // onclick = function(){
        //     console.log(p)
        // }
        // const p = new Promise((resolve, reject)=>{
        //     console.log("正在进行时");
        //     resolve("已完成")
        //     reject("已失败")
        // })
        // console.log(p)
        // console.log(p.then(()=>{
        //     return new Promise(()=>{})
        // }))
        // console.log(p.then(()=>{}))
        // function a (c){
        //     b()
        //     function b(d){
        //         f()
        //         function f(e){
        //             console.log(c)
        //         }
        //     }
        // }
        // a(3)

        // setTimeout(() => {
        //         console.log('timeout3000')
        // }, 3000);

        // new Promise((resolve,reject)=>{
        //     console.log('1')
        //     setTimeout(() => {
        //         resolve()
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //         console.log('timeout1')
        //     }, 1000);
        // }).then(()=>{
        //     console.log('then1')
        // })
        // console.log('我是最下面的同步')

        // new Promise((resolve, reject)=>{  
        //     Promise.resolve().then(()=>{  // 
        //         resolve(1);  // 
        //         Promise.resolve().then(()=>{console.log(2)})  // 
        //     })  
        // }).then((value)=>{console.log(value)});  // 
        // console.log(3);  // 
        // 

        // const p = new Promise((resolve,reject)=>{
        //     resolve()
        // })
        // const pp = new Promise((resolve,reject)=>{
        //     resolve()
        // }).then()
        // const ppp = new Promise((resolve,reject)=>{
        //     resolve()
        // }).then(()=>{
        //     console.log(this)
        //     return 'hello'
        // })
        // console.log(p)
        // console.log(pp)
        // console.log(ppp)

        // onclick = ()=>{
        //     // console.log(p)
        //     // console.log(p)
        //     console.log(pp)
        // }
        
        // const p = new Promise((resolve,reject)=>{
        //     resolve('aa')
        // })
        // console.log(p)
        // const pp = p.then(()=>{})
        // console.log(pp)

       p = Promise
        .resolve()
        .then(() => {
            console.log(1);
            Promise.resolve().then(() => console.log(3));
            setTimeout(() => {
               console.log(4)
            }, 0);
        })
        console.log('p-->')
        p.then(() => {
            console.log(2);    
        })
// p  1  3  2  4

//     new Promise((resolve, reject)=>{  
//     Promise.resolve().then(()=>{  
//         resolve(1);  
//         Promise.resolve().then(()=>{console.log(2)})  
//     })  
// }).then((value)=>{console.log(value)});  
// console.log(3);
    </script>
</body>
</html>